package com.tfjybj.itoo.exam.ext.mongo;

import com.tfjybj.itoo.exam.model.ExamTemPaperQuestionTypeModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author 商俊帅
 * @date 2022/01/10 21:17
 **/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Document("ExamPaperModel")
public class ExamPaperModel implements Serializable {

    /**
     * 主键Id
     */
    @Id
    protected String id;
    /**
     * 操作人
     */
    private String operator;
    /**
     * 删除标记
     */
    private int isDelete = 0;
    /**
     * 备注
     */
    private String remark;
    /**
     * 创建日期
     */
    private Date createTime;
    /**
     * 更新日期
     */
    private Date updateTime;

    /**
     * 试卷题型
     */
    private List<ExamTemPaperQuestionTypeModel> paperQuestionTypeList;

    /**
     * 学生得分
     */
    private String paperScore;

    /**
     * 题型序号
     */
    private String questionMainOrder;


    /**
     * 考试类型
     */
    private Integer examType;


    /**
     * 考试id
     */
    private String examinationId;

    /**++++++++++++++++++++++++++++++试卷详细信息+++++++++++++++++++++++++**/
    /**
     * courseId
     */
    private String courseId;
    /**
     * 模版id
     */
    private String templateId;

    /**
     * 考试时长
     */
    private Integer paperdDuration;

    /**
     * 题型分值
     */
    private String typeScore;
    /**
     * 题型个数
     */
    private Integer typeNum;
    /**
     * 小题分值
     */
    private String smallScore;
    /**
     * 题型描述
     */
    private String typeDescribe;
    /**
     * 试卷名称
     */
    private String name;
    /**
     * 题型编号
     */
    private String typeCode;
    /**
     * 题型名称
     */
    private String typeName;
    /**
     * 题型id
     */
    private String typeId;
    /**
     * 题型简介
     */
    private String typeDescription;


    /**++++++++++++++++++++++++++++试卷详细信息+++++++++++++++++++++++++++**/
    /**
     * 考试分类id
     */
    private String examclassifyId;

    /**
     * 题型顺序
     */
    private Integer questionTypeOrder;


    /**
     * 状态（12考试已使用、11考试使用中、10考试未使用20 固定未使用 21 固定使用中 22 随机未使用 23 随机使用中）
     */
    @ApiModelProperty(value = "状态（12考试已使用、11考试使用中、10考试未使用20 固定未使用 21 固定使用中 22 随机未使用 23 随机使用中）",required = true,example = "10")
    @Column(name = "status")
    protected Integer status;

    /**
     * 总分值
     */
    protected Double score;

    /**
     * 总个数
     */
    protected Integer totalNumber;

    /**
     * 组卷方式(选题,抽题,随机)
     */
    protected String organizingType;

    /**
     * 课程描述
     */
    protected String description;
}
